﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using QuanLyRapChieuPhim.BUS;
using QuanLyRapChieuPhim.DTO;

namespace QuanLyRapChieuPhim.GUI
{
    public partial class uscThemPhongChieu : UserControl
    {
        int Ma = -1;
        public uscThemPhongChieu()
        {
            InitializeComponent();
        }

        private void uscThemPhongChieu_Load(object sender, EventArgs e)
        {
            Ma = int.Parse(Tag.ToString());
            LoadDefault();
        }

        private void btnThem_Click(object sender, EventArgs e)
        {
            Ma = 0;
            if (!Check())
                return;
            PhongChieuBUS BUS = new PhongChieuBUS();
            PhongChieuDTO DTO = new PhongChieuDTO
                (
                    0, int.Parse(cbRap.SelectedValue.ToString()), int.Parse(cbSoHangGhe.Text),
                    int.Parse(cbxSoDayGhe.Text),
                    txtMoTa.Text, int.Parse(cbLoaiKyThuat.SelectedValue.ToString()),
                    int.Parse(cbTinhTrang.SelectedValue.ToString()), txtTenPhong.Text
                );
            if (BUS.Add(DTO))
            {
                MessageBox.Show("Thêm thành công.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.None);
                return;
            }
            MessageBox.Show("Thêm thất bại.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.None);
        
        }

        private void btnCapNhap_Click(object sender, EventArgs e)
        {
            Ma = int.Parse(Tag.ToString());
            if (!Check())
                return;
            PhongChieuBUS BUS = new PhongChieuBUS();
            PhongChieuDTO DTO = new PhongChieuDTO
                (
                    Ma, int.Parse(cbRap.SelectedValue.ToString()), int.Parse(cbSoHangGhe.Text),
                    int.Parse(cbxSoDayGhe.Text),
                    txtMoTa.Text, int.Parse(cbLoaiKyThuat.SelectedValue.ToString()),
                    int.Parse(cbTinhTrang.SelectedValue.ToString()),txtTenPhong.Text
                );
            if (BUS.Update(DTO))
            {
                MessageBox.Show("Cập nhật thành công.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.None);
                return;
            }
            MessageBox.Show("Cập nhật thất bại.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.None);

        }

        private void btnDienLai_Click(object sender, EventArgs e)
        {
            LoadDefault();
        }

        void LoadDefault()
        {
            try
            {
                cbLoaiKyThuat.DataSource = new LoaiKyThuatBUS().GetList();
                cbLoaiKyThuat.DisplayMember = "TenLoaiKyThuat";
                cbLoaiKyThuat.ValueMember = "MaLoaiKyThuat";

                cbRap.DataSource = new RapBUS().GetList();
                cbRap.DisplayMember = "TenRap";
                cbRap.ValueMember = "MaRap";

                cbTinhTrang.DataSource = new TinhTrangPhongChieuBUS().GetList();
                cbTinhTrang.DisplayMember = "TenTinhTrangPhongChieu";
                cbTinhTrang.ValueMember = "MaTinhTrangPhongChieu";

                int[] soluongHang = { 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 15, 16, 17, 18, 19, 20 };
                cbSoHangGhe.DataSource = soluongHang;
                int[] soluongDay = { 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 15, 16, 17, 18, 19, 20 };
                cbxSoDayGhe.DataSource = soluongDay;

                PhongChieuBUS BUS = new PhongChieuBUS();
                PhongChieuDTO DTO = new PhongChieuDTO();
                DTO = BUS.GetFromId(Ma);
                if (DTO.MaLoaiKyThuat != 0)
                    cbLoaiKyThuat.SelectedValue = DTO.MaLoaiKyThuat;
                else
                    cbLoaiKyThuat.SelectedIndex = 0;

                if (DTO.MaRap != 0)
                    cbRap.SelectedValue = DTO.MaRap;
                else
                    cbRap.SelectedIndex = 0;
                if (DTO.MaTinhTrangPhongChieu != 0)
                    cbTinhTrang.SelectedValue = DTO.MaTinhTrangPhongChieu;
                else
                    cbTinhTrang.SelectedIndex = 0;

                cbxSoDayGhe.SelectedIndex = (DTO.SoDayGhe - 5 < 0) ? 0 : DTO.SoDayGhe - 5;
                cbSoHangGhe.SelectedIndex = (DTO.SoHangGhe - 5 < 0) ? 0 : DTO.SoHangGhe - 5;
                txtMoTa.Text = DTO.MoTa;
                txtTenPhong.Text = DTO.TenPhongChieu;
            }
            catch (Exception)
            {

            }

        }

        bool Check()
        {
            lbsao01.Visible = false;
            lbsao02.Visible = false;
            lbThongBao.Visible = false;

            if(txtTenPhong.Text == "")
            {
                lbsao01.Visible = true;
                txtTenPhong.Focus();
                return false;
            }
            else if (txtMoTa.Text == "")
            {
                lbsao02.Visible = true;
                txtMoTa.Focus();
                return false;
            }
            else if (new PhongChieuBUS().CheckExists(Ma,txtTenPhong.Text))
            {
                lbThongBao.Visible = true;
                txtTenPhong.Focus();
                return false;
            }
            return true;
        }
    }
}
